package com.link_with_health.service;

import com.link_with_health.exception.BaseException;
import com.link_with_health.model.AdminUserEntity;
import java.util.List;

public interface AdminService {
    /**
     * 通过id获取管理员用户信息
     * @param id 管理员id
     * @return 管理员信息
     * @throws BaseException 异常
     */
    AdminUserEntity getAdminUserById(int id) throws BaseException;

    /**
     * 通过用户名获取管理员信息
     * @param adminName 管理员名字
     * @return 管理员信息
     * @throws BaseException 异常
     */
    AdminUserEntity getAdminUserByName(String adminName) throws BaseException;

    /**
     * 通过创建者获取管理员信息
     * @param creator 创建者id
     * @return 管理员信息
     * @throws BaseException 异常
     */
    List<AdminUserEntity> getAdminUserByCreator(int creator) throws BaseException;

    /**
     * 获取所有管理员信息
     * @return 管理员信息
     * @throws BaseException 异常
     */
    List<AdminUserEntity> getAllAdminUser() throws BaseException;

    /**
     * 添加管理员用户
     * @param adminUser 管理员信息
     * @return 改动数量
     * @throws BaseException 异常
     */
    int addAdminUser(AdminUserEntity adminUser) throws BaseException;

    /**
     * 修改管理员信息
     * @param adminUser 管理员信息
     * @return 改动数量
     * @throws BaseException 异常
     */
    int changeAdminUser(AdminUserEntity adminUser) throws BaseException;

    /**
     * 删除管理员信息
     * @param id 管理员id
     * @return 改动数量
     * @throws BaseException 异常
     */
    int deleteAdminUserById(int id) throws BaseException;
}
